package com.hw.backapi.service;

import com.hw.model.common.PageInfo;
import com.hw.model.dto.overview.DetailedQueryDTO;
import com.hw.model.dto.overview.OverviewQueryDTO;
import com.hw.model.entity.DiagTaskPO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hw.model.vo.overview.DataDetailVO;
import com.hw.model.vo.OverviewVO;
import com.hw.model.vo.overview.PatientDataDetailVO;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 作者
 * @since 2022-11-24
 */
public interface IDiagTaskService extends IService<DiagTaskPO> {

    /**
     * 数据统计：概览
     *      -- 家庭数 用户数 孩子数 视频数
     * @return
     */
    OverviewVO overview(OverviewQueryDTO overviewQueryDTO);

    /**
     * 数据统计：明细
     * @param detailedQueryDTO
     * @return
     */
    PageInfo<DataDetailVO> detailed(DetailedQueryDTO detailedQueryDTO);

    /**
     * 导出数据统计
     * @param detailedQueryDTO
     * @return
     */
    void exportDetailed(DetailedQueryDTO detailedQueryDTO);

    /**
     * 导出骨骼csv
     * @param id
     */
    void exportBonesCsv(Long id, HttpServletResponse response);

    /**
     * 批量下载
     * @param detailedQueryDTO
     */
    void batchDownload(DetailedQueryDTO detailedQueryDTO, HttpServletRequest request, HttpServletResponse response);
}
